package com.chinawayltd.ews.sample.mapper.common;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.chinawayltd.ews.sample.model.TLog;
import com.chinawayltd.ews.sample.model.TTemplateEvent;
import com.chinawayltd.ews.sample.model.common.CommonVO;
import com.chinawayltd.ews.sample.model.common.MaterielCommonVO;
import com.chinawayltd.ews.sample.web.query.LogGirdQuery;

/**
 * @program: g7ews4java-sample
 * @description:
 * @author: xiazj
 * @create: 2018-04-13 19:00
 **/
@Mapper
public interface CommonMapper {

    /**
     * 查询车辆数据
     * @param vehicleCode
     * @param vehicleId
     * @return
     */
    List<CommonVO> listVehicleData(@Param("vehicleCode")String vehicleCode, @Param("vehicleId")Long vehicleId);

    /**
     * 查询驾驶员数据
     * @param driverName
     * @param driverId
     * @return
     */
    List<CommonVO> listDriverData(@Param("driverName")String driverName, @Param("driverId")Long driverId);

    /**
     * 查询班次数据
     * @param shiftName
     * @param shiftId
     * @return
     */
    List<CommonVO> listShiftData(@Param("shiftName")String shiftName, @Param("shiftId")Long shiftId);
   
    /**
     * 通过表名和id查询日记
     * @author: chenxin
     * @date: 2018年4月14日
     * @param queryParam
     * @return
     */
	List<TLog> getLogDataById(LogGirdQuery queryParam);

	/**
	 * 查询站点数据
	 * @author: chenxin
	 * @date: 2018年4月16日
	 * @param branchName
	 * @param branchId
	 * @return
	 */
	List<CommonVO> loadBranchData(@Param("branchName")String branchName, @Param("branchFromType")String branchFromType, @Param("branchId")Long branchId);
	/**
	 * 查询物料
	 * @author: chenxin
	 * @date: 2018年5月2日
	 * @param materielName
	 * @param materielId
	 * @return
	 */
	List<MaterielCommonVO> listMaterielData(@Param("materielName")String materielName, @Param("materielId")Long materielId);
	
	/**
	 * 查询异常类型
	 * @author: chenxin
	 * @date: 2018年5月7日 下午4:51:22
	 * @param eventName
	 * @param eventId
	 * @return
	 */
	List<TTemplateEvent> loadEventListData(@Param("eventName")String eventName, @Param("eventId")Long eventId);
	/**
	 * 根据车辆id查询异常类型
	 * @author: chenxin
	 * @date: 2018年5月30日 下午3:27:51
	 * @param vehicleId
	 * @param eventName
	 * @param eventId
	 * @return
	 */
	List<TTemplateEvent> loadEventListDataByVid(@Param("vehicleId")Long vehicleId, @Param("eventName")String eventName, @Param("eventId")Long eventId);
	
	/**
	 * 查询字典项
	 * @author: chenxin
	 * @date: 2018年5月14日 上午12:21:09
	 * @param infoName
	 * @param infoValue
	 * @return
	 */
	List<CommonVO> listDictData(@Param("typeCode")String typeCode, @Param("infoName")String infoName, @Param("infoValue")String infoValue);
}
